
const configHost = require('./src/service/config')
const FtpDeploy = require('ftp-deploy')
const ftpServ = new FtpDeploy()
var site = conversionInit(configHost.host) // 需要发布的站点 替换需要发布的站点
let config = {
    user: 'alabo_www_root', // 用户名
    password: 'jnzAtGxAHwGwhJcp', // 密码
    host: '14.17.80.138', // ftp 主机地址
    port: 21, // 端口
    localRoot: __dirname + '/dist/', // 本地资源路径
    remoteRoot: site + '/wwwroot/admin/', // 远程资源路径
    include: ['*', '**/*'], // 包含文件
    exclude: [], // 排除文件
    deleteRemote: true, // 上传前是否删除
    forcePasv: true // 主动模式/被动模式
}
ftpServ.on('uploading', function (data) {
    // console.log(data.totalFilesCount) // total file count being transferred
    //console.log(data.transferredFileCount) // number of files transferred
    console.log('站点' + site + '上传中...', data.filename, ` ${data.transferredFileCount}/${data.totalFilesCount}`) // partial path with filename being uploaded
})
// 上传完成后回调
ftpServ.deploy(config)
    .then(res => { // 上传成功
        console.log('ftp 上传成功，已成功发到服务器')
        // console.info(res)
        return false
    })
    .catch(err => {
        console.info('上传失败:', err)
        return false
    })

function conversionInit(data) {
    var valueType = ''
    if (data.indexOf('https://') !== -1) {
        valueType = 'https://'
    }
    if (data.indexOf('http://') !== -1) {
        valueType = 'http://'
    }
    var patt1 = data.replace(valueType, '')
    var patt2 = patt1.replace('/', '')
    return patt2
}